package com.ruoyi.yljf.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BasePlusEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 课程对象 yljf_course
 * 
 * @author TC
 * @date 2025-02-19
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "yljf_course")
public class Course extends BasePlusEntity {
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /** 课程id */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String name;

    /** 课程图片 */
    @Excel(name = "课程图片")
    private String img;

    /** audio-音频/video-视频 */
    @Excel(name = "audio-音频/video-视频")
    private String type;

    /** 学科分类（字典数据） */
    @Excel(name = "学科分类", readConverterExp = "字=典数据")
    private String subject;

    /** 课程总时长 */
    @Excel(name = "课程总时长")
    private String timeCount;

    /** 课程是否免费(Y | N) */
    @Excel(name = "课程是否免费(Y | N)")
    private String chargeFree;

    /** 级别（primary-入门；initial-初级；intermediate-中级；advanced-高级） */
    @Excel(name = "级别", readConverterExp = "primary-入门；initial-初级；intermediate-中级；advanced-高级")
    private String grade;

    /** 课程价格 */
    @Excel(name = "课程价格")
    private BigDecimal price;

    /** 课程会员 */
    @Excel(name = "会员价格")
    private BigDecimal vipPrice;

    /** 播放量 */
    @Excel(name = "播放量")
    private Long playCount;

    /** 简介 */
    @Excel(name = "简介")
    private String info;

    /** 创建类型：user(用户)/pharmacy(中医馆） */
    @Excel(name = "创建类型：user(用户)/pharmacy(中医馆）")
    private String createType;

    /** 创建人id */
    @Excel(name = "创建人id")
    private Long createId;

    /** 学科分类id(关联学科分类表) */
    @Excel(name = "学科分类id(关联学科分类表)")
    private Long subjectId;
    /** 讲师id（关联讲师表） */
    @Excel(name = "讲师id", readConverterExp = "关=联讲师表")
    private Long lecturerId;

    /** $column.columnComment */
    private Integer delFlag;

    /** 课程是否精选(Y | N) */
    @Excel(name = "课程是否精选(Y | N)")
    private String isFeatured;

    /** 课程分类（首页精选课程二级分类，存储在字典表） */
    @Excel(name = "课程分类（首页精选课程二级分类，存储在字典表）")
    private String secondaryType;

    /** 考试题目数 */
    @Excel(name = "考试题目数")
    private Long examCount;

    @Excel(name = "讲师姓名")
    private String lecturerName;
}
